package com.probiz.estore.sales.dao;

import java.util.List;

import com.probiz.estore.common.model.sales.Gift;
import com.probiz.estore.core.dao.GenericDao;
import com.probiz.estore.core.search.SearchCriteria;
import com.probiz.estore.sales.model.GiftSearchCriteria;
/**
 * Dao interface for Gift.
 */
public interface GiftDao extends GenericDao<Gift> {
	/**
	 * 根据目录id获得直接所属礼品个数
	 * @param categoryId 目录id
	 * @return 直接所属礼品个数
	 */
	public Integer countGiftByCategoryId(Integer categoryId);

	/**
	 * 搜索礼品
	 * @param productSearchCriteria 自定义搜索条件
	 * @param searchCriteria 分页搜索条件
	 * @return 搜索结果
	 */
	public List<Gift> searchByCriteria(GiftSearchCriteria giftSearchCriteria,
			SearchCriteria searchCriteria);

	/**
	 * 根据礼品编码找出礼品个数，但该礼品的不能是参数id所指定的礼品
	 *
	 * @param giftCode 礼品编码
	 * @param giftId 礼品id
	 * @return 个数
	 */
	public Long getSizeByGiftCodeByNotGiftId(String giftCode, Integer giftId);

	/**
	 * 根据礼品Id获取礼品
	 * @param giftId
	 * @return
	 */
	public Gift getGiftById(Integer giftId);
}